|
|
  |
PROTEQ - протокол обмена для Virtex 6, open source проект на ds-dev.ru |
|
|
|
Mar 12 2012, 14:14
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Всем доброго времени суток. Сделал проект для связи через гигабитные линии Virtex 6 с использованием кодировки 64/67; На модели уже работает. Страница проекта: http://ds-dev.ru/projects/proteq/wiki
|
|
|
|
|
Apr 11 2012, 13:42
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(akorud @ Apr 11 2012, 15:41)  Нам интересно, так как думаем над чем-то подобным для своего проекта (правда не АЦП). Мы правда пока смотрим в сторону Xilinx Aurora, интересно "примеряли" ли вы его, если да - то что было поводом для разработки собственного решения? Да, у нас на фирме его применяли. Для скорости 3.125 ГГц, и даже система работала без ошибок. Недостаток aurora - нет контроля правильности передачи. Я этого опасаюсь. С ростом частоты передачи вероятность ошибки возрастает. Вот сейчас у меня проверяется PROTEQ, за час работы зафиксировано 13 ошибок CRC- они все исправлены протоколом. Это на скорости 5 Гбит/с. Вот из-за того, что я не могу гарантировать передачу без ошибок по MGT линии я стал делать этот проект. Я считаю, что даже одна ошибка за 10 часов - недопустимо.
|
|
|
|
|
Apr 12 2012, 08:15
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842

|
Цитата(dsmv @ Apr 11 2012, 15:42)  Да, у нас на фирме его применяли. Для скорости 3.125 ГГц, и даже система работала без ошибок.
Недостаток aurora - нет контроля правильности передачи. Я этого опасаюсь. С ростом частоты передачи вероятность ошибки возрастает. Вот сейчас у меня проверяется PROTEQ, за час работы зафиксировано 13 ошибок CRC- они все исправлены протоколом. Это на скорости 5 Гбит/с. Вот из-за того, что я не могу гарантировать передачу без ошибок по MGT линии я стал делать этот проект. Я считаю, что даже одна ошибка за 10 часов - недопустимо. Спасибо, мы будем пробовать где-то через 3-4 месяца. У нас по архитектуре будет несколько Spartan 6 и что-то бОльше в центре (может быть даже Zynq). Хотелось бы уточнить - можно ли будет попробовать ваше решение, и можно ли думать (и на каких условиях) над использованием его в коммерческом проекте?
|
|
|
|
|
Apr 12 2012, 12:31
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(akorud @ Apr 12 2012, 11:15)  Спасибо, мы будем пробовать где-то через 3-4 месяца. У нас по архитектуре будет несколько Spartan 6 и что-то бОльше в центре (может быть даже Zynq). Хотелось бы уточнить - можно ли будет попробовать ваше решение, и можно ли думать (и на каких условиях) над использованием его в коммерческом проекте? Применять PROTEQ можно свободно. Как и для всех остальных open-source проектов - на свой страх и риск. Есть пожелание - рассказать о результатах и проблемах. Есть только нюанс - Spartan 6 не поддерживает аппаратно кодировку 64/67, но возможно это можно будет сделать на логике.
|
|
|
|
|
Apr 13 2012, 15:51
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(AsJohnAs @ Apr 13 2012, 14:36)  У вас применяется код 64b/67b, но в Xilinx Aurora применяется 8b/10b. Т.е система кодирования у xilinx применена более мощная.
Вы делали сравнение вашей системы и Xilinx Aurora на одних и тех-же линиях. Когда тестировали свою систему как проводили тесты? Аттенюаторы на линии или там подключение внешних генераторов или еще что. Интересен сам способ тестирования. Есть вариант Aurora с кодировкой 64/66, но только для варианта с четырьмя линиями. Мне нужно восемь. На одном и том же оборудовании сравнения я не делал. В общем мне это не интересно и времени на это нет. В данный момент сделан проект для нашего модуля FMC106P. На нём две ПЛИС Virtex6 - LX130T-2 и LX240T-1; LX130 подключён к PCI Express v2.0 x8 и FMC субмодулю. Между ПЛИС есть восемь MGT линий. LX240T формирует поток на максимально возможной скорости (с учётом сигнала готовности). Это псевдослучайная последовательность - она формируется в компоненте prq_connect_fifo. Поток передаётся на LX130 и далее в PCI Express. Прогрмма принимает поток данных и его анализирует. Причём проверка производится в двух программных потоках - это позволяет делать проверку в реальном масштабе времени. К сожалению, сегодня я зафикисировал сбой - где-то произошло смещение слова и поток пошёл неправильным. Но следующи запуск был успешным, и в течении 6 часов модуль работал без ошибок, средняя скорость 2785 Мбайт/с Обе ПЛИС получают опорные 156.25 МГц от одного генератора.
|
|
|
|
|
Nov 19 2012, 13:35
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Если кому интересно - 24.11.2012 у меня будет доклад на конференции в МФТИ. Тема доклада: "PROTEQ - протокол передачи данных для ПЛИС Virtex 6" Название секции: "Секция высокопроизводительных вычислительных систем" Более подробно здесь: http://conf55.mipt.ru/info/main/
|
|
|
|
|
Nov 26 2012, 08:58
|

Знающий
   
Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933

|
Скажите, Дмитрий, а можно ли заменить гигабитными трансиверами параллельную синхронную шину данных? У нас сейчас в устройстве данные передаются через разъем - несколько десятков диф. пар в режиме DDR, скорость около 300/600(DDR) МГц, получается поток около 4,8 Гбайт/с. У меня витает идея всю эту жуть (жуть, потому что бывает, что разъем не контачит) заменить на 5-10 гигабитных линий? Можно ли получить изначальный синхронный поток на приемной стороне? Возможно вопрос детский, с гигабитными линиями дела пока вообще не имел. Может быть есть что почитать по этому вопросу?
PS Прочитал статью, очень интересно, и есть такое впечатление что данное решение помогло бы в моей задаче.
--------------------
|
|
|
|
|
Nov 26 2012, 09:24
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(dm.pogrebnoy @ Nov 26 2012, 11:58)  Скажите, Дмитрий, а можно ли заменить гигабитными трансиверами параллельную синхронную шину данных? У нас сейчас в устройстве данные передаются через разъем - несколько десятков диф. пар в режиме DDR, скорость около 300/600(DDR) МГц, получается поток около 4,8 Гбайт/с. У меня витает идея всю эту жуть (жуть, потому что бывает, что разъем не контачит) заменить на 5-10 гигабитных линий? Можно ли получить изначальный синхронный поток на приемной стороне? Возможно вопрос детский, с гигабитными линиями дела пока вообще не имел. Может быть есть что почитать по этому вопросу? Изначальный поток получить конечно можно, но в моём случае он будет на другой более высокой частоте и разделённый на пакеты по 256 слов. Для меня это совершенно не критично. Для дифф пар на высоких частотах (5ГГц) предъявляются повышенные требования к трассировке на печатной плате, но они не сильно отличаются от дифф пар на 600 МГц. И поскольку пар меньше, то их и развести проще. И пары не обязательно должны быть одинаковой длины - это тоже упрощает трассировку.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|