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

 
 
> Приём данных в ПЛИС по внешнему клоку, Методы и подходы.
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 20 2014, 07:01
Сообщение #2


Adept
******

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



QUOTE (warrior-2001 @ Jun 20 2014, 11:47) *
А можно узнать, что за необходимость такая использовать большие частоты на обычную логику ПЛИС?

Да нет особой необходимости, интересуюсь в плане расширения кругозора. Реально частоты у меня будут около 200 МГц, поэтому, видимо, всё нормально, как вы подтверждаете. Это вселяет уверенность.

Вообще, предпочитаю не лезть в высокие клоки без настоятельной необходимости. Был опыт (лет 10 назад) разработки проекта на Cyclone I, там сначала один из доменов был 200 МГц, потом по мере усложнения функциональной части, оно перестало лезть по скорости, пришлось снижать, сколько можно. В итоге спустился до 160 МГц, всё вытянул, но воспоминания остались неприятные - бОльшая часть усилий и времени ушла не на разработку функциональной части, а на борьбу за скорость. На каждом шагу конвейерные задержки, мультициклы, где можно, бесконечные эксперименты с оптимизацией (ретайминги, дублирование регистров), подбор seed с запуском Design Space Explorer и т.д. В общем, с тех пор стараюсь выбрать тактовую, чтобы только хватало для реализации целевых задач и было удобно работать (например, 100 МГц - удобно оперировать величиной такта, хотя это, конечно, мелочи), что позволяет спокойно писать код, не думать на каждом шагу об мерах повышения скорости, а думать о надежности, переносимости, расширяемости.

Приём данных по внешнему [относительно] быстрому клоку - случай особый, тут можно и напрячься, выжать сколько надо. Ваша оценка порога получения "устойчивого" решения в 250-300 МГц выглядит весьма ободряюще. sm.gif

Кстати, 4-5 поколение альтеры вы имели в виду младших (циклоны) или старших (стратиксы)?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
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
- - 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
- - warrior-2001   Цитата(dxp @ Jun 20 2014, 11:01) Кстати, ...   Jun 23 2014, 06:17


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

 


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


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