Перейти к содержанию
    

Связь между FPGA и Tiger SHARK по LInk Port

Прошу помочь мне с реализацией следующей задачи:

Имеется FPGA Cyclone V (E серия) и процессор Tiger Shark TS201S. На ПЛИС производится вычисление БПФ (FFT), в результате чего мы имеем два потока данных, каждый из которых представят 32-х разрядные слова (кол-во от 512 до 4098, в зависимости от режима работы) выдаваемые "наружу" блока БПФ (FFT) с частотой 100МГц. Необходимо передавать результаты расчета БПФ (FFT) на процессор. Для связи с FPGA процессор имеет (в нашем случае) Link Port. Данный интерфейс содержит порт приемника и порт передатчика. Передатчик организован, как 4-х разрядная шина данных, тактовый сигнал, выходной служебный сигнал (индикатор завершения передачи данных) и входной служебный сигнал (сигнал от приемника, о готовности приема данных). Приемник имеет все те же сигналы что и передатчик. Данный интерфейс поддерживает стандарт LVDS ANSI/TIA/EIA-644 (где опорный уровень порядка 1,25V, дифференциальное напряжение 350mV).

 

Одно из главных требований: передача данных с Плис на процессор должна быть не меньше чем 2Gbps.

 

Возникает вопрос, как организовать передачу данных, ведь у меня получается следующая ситуация: если не осуществлять в Плис предварительно хранения данных, а поддерживать потоковую передачу данных (что естественно легче реализовать), то поделив 32-х разрядные данные на 8, получим как раз необходимые для нас 4-ре разряда для Link Port, но и скорость увеличится в восемь раз (800 МГц) и даже представляя работу по двум фронтам (400 Мгц), получаем нереальную скорость для FPGA Cyclone V. От Cyclone V отказаться скорее всего не получиться, получается есть (как мне кажется) несколько путей решения:

 

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

2. Поставить на плату еще одну, более скоростную ПЛИС, естественно более дешевую чем Cyclone V (E серия) на 301 тысячу логических элементов (стоимость такого Cyclone V порядка 350$)

3. Использовать Cyclone V серии GX, которая имеет аппаратные высокоскоростные приемопередатчики.

 

По возможности прошу помочь в данном вопросе и прокомментировать каждое из возможных решений.

Возможно ли подобрать такой "сириализатор" в виде отдельной микросхемы, как описано в первом пункте?

Возможно ли на Cyclone V серии GX организовать Link Port (по большому счету свой собственный интерфейс)?

Или проще использовать еще одну ПЛИС?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно подумать над следующим : точно ли нужна 301 тыс. элементов?

 

мне наиболее разумным вариантом выглядит использовать Cyclone V серии GX

 

можно поставить аппаратные сериализаторы типа http://www.ti.com/product/ds32el0124 (сам так не делал)

 

в качестве "вспомогательной ПЛИС" можно использовать ECP3 от Латтиса, вроде бы дешевле с трансиверами нету

http://www.latticestore.com/searchresults/...e=lfe3-17e*328*

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прошу помочь мне с реализацией следующей задачи:

Имеется FPGA Cyclone V (E серия) и процессор Tiger Shark TS201S. На ПЛИС производится вычисление БПФ (FFT), в результате чего мы имеем два потока данных, каждый из которых представят 32-х разрядные слова (кол-во от 512 до 4098, в зависимости от режима работы) выдаваемые "наружу" блока БПФ (FFT) с частотой 100МГц. Необходимо передавать результаты расчета БПФ (FFT) на процессор. Для связи с FPGA процессор имеет (в нашем случае) Link Port. Данный интерфейс содержит порт приемника и порт передатчика. Передатчик организован, как 4-х разрядная шина данных, тактовый сигнал, выходной служебный сигнал (индикатор завершения передачи данных) и входной служебный сигнал (сигнал от приемника, о готовности приема данных). Приемник имеет все те же сигналы что и передатчик. Данный интерфейс поддерживает стандарт LVDS ANSI/TIA/EIA-644 (где опорный уровень порядка 1,25V, дифференциальное напряжение 350mV).

 

Одно из главных требований: передача данных с Плис на процессор должна быть не меньше чем 2Gbps.

 

Возникает вопрос, как организовать передачу данных, ведь у меня получается следующая ситуация: если не осуществлять в Плис предварительно хранения данных, а поддерживать потоковую передачу данных (что естественно легче реализовать), то поделив 32-х разрядные данные на 8, получим как раз необходимые для нас 4-ре разряда для Link Port, но и скорость увеличится в восемь раз (800 МГц) и даже представляя работу по двум фронтам (400 Мгц), получаем нереальную скорость для FPGA Cyclone V. От Cyclone V отказаться скорее всего не получиться, получается есть (как мне кажется) несколько путей решения:

 

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

2. Поставить на плату еще одну, более скоростную ПЛИС, естественно более дешевую чем Cyclone V (E серия) на 301 тысячу логических элементов (стоимость такого Cyclone V порядка 350$)

3. Использовать Cyclone V серии GX, которая имеет аппаратные высокоскоростные приемопередатчики.

 

По возможности прошу помочь в данном вопросе и прокомментировать каждое из возможных решений.

Возможно ли подобрать такой "сириализатор" в виде отдельной микросхемы, как описано в первом пункте?

Возможно ли на Cyclone V серии GX организовать Link Port (по большому счету свой собственный интерфейс)?

Или проще использовать еще одну ПЛИС?

вот что-то от альтеры + design of altera

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. Мы связывали 1х линк TS210S с ПЛИСиной, но не через трансиверы и на на 400 МГц не гоняли. Не знаю что из предложенного посоветовать, я бы до последнего пытался организовать хранение в ПЛИС, если временные рамки позволят всё потом неспеша передать штатными IO-банками. Могу прокомментировать пункт 3. Если решите идти таким путём, продумайте ещё раз вопрос синхронизации (точнее clock data recovery). Как будет получаться Serial Recovered Clock? Собираетесь самостоятельно синхропоследовательности генерировать линк-портом? И ещё ACK-линию надо куда-то завести и как-то привязать к тому, что творится на трансиверах. В общем, затея использовать трансиверы на Cyclone V GX мне лично не нравится.

Изменено пользователем Сергей СС

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...