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

 
 
> для прототипирования еще одного ASICa хочу промоделировать работу SERDES 500Mb/s, то есть сделать на FPGA fabric OSERDES, а приемник взять готовое IP
yes
сообщение Dec 9 2016, 17:40
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



то есть задача сделать передатчик, который сможет передавать поток, который можно будет принимать в стандартное IP (лучше Ксайлинс, но можно и Альтера)

технология SOI, то есть практически аналоговая sm.gif, каких-то готовых IP нет (по крайней мере, рассчитывать не стоит), есть LVDS IO выход и библиотека стандартных ячеек (пока еще не видел, но уверили, что 500МГц для сдвигового регистра - легко)

поток до 500Mb/s, по плате предполагается расстояние до 10см. собственно зачем надо - сжать паралельную шину в LVDS пару, выигрыш размер чипа, и предположительно, лучше EMI

вопрос - понять, какие недостатки

соотношение 10:1, весь интерфейс 4 пары с данными и пара для тактового 50Мгц
называется по-моему source-synchronous
пары по задержке у передатчика не выровнены

вроде кажется, что все проблемы на стороне приемника, ну там калибровка задержек для линий данных, восстановление тактового сигнала и т.д.
но может я не понимаю чего-то важного, из-за крайне скудного знакомства с практической реализацией сериализатора-десериализатора?

------------

в деталях:
есть ли проекты реализации передатчиков для ПЛИС, где нет аппаратной поддержки? получится ли на них 500Мбит?
соединение Xilinx-овского и Альтеровского IP/мегафункции будет работать? то есть если на плате ксайлинкс и альтера - можно ли передавать поток между ними?
какую из Ксайлинской/Альтеровской реализации/ПЛИС лучше взять в качестве приемника?
какие еще вопросы должны возникнуть sm.gif?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yes
сообщение Dec 10 2016, 12:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



спасибо, особенно за старые xapp!

но еще хотелось бы общих соображений, применимых к моим условиям
1) я хочу давать тактовый сигнал отдельной парой - то есть всякие синхропоследовательности для тренировки и т.п. не нужны, так же не нужны старт-стоп биты и какое-то "управление потоком"
2) связывать буду по постоянному току, без конденсаторов, то есть 8b/10b тоже не нужны - пусть хоть все время идут 00000 или 111 - проблем не будет
правильно я понимаю?
а то взял посмотреть ТИ-шные дискретные сердесы - так там чего-то наворотили такого, что гораздо сложнее, чем я ожидал (ну и лет 10 назад было в этой sn56 серии)

в принципе, тестовую последовательность (по команде с отдельного SPI интерфейса) я буду делать, для проверки линка, что-то типа 0,1,2,3...1023, "шахматные доски", может ПСП от сдвигового регистра, но не предполагаю динамической калибровки задержки в приемнике - то есть подбирается один раз для конкретной платы и проверяется в температуре/разбросе - так можно?

остался вопрос - можно ли это принять в современной ПЛИС - ну может там какой-то обязательный формат (со старт-стопом, синхропосылками и т.д.), с неотключаемым 8b/10b и т.п. или есть гибкость? если например, от мегафунций отказаться и клеить из примитивов?


-----------

фабрика GF, но взаимодействуем через дизайн-центр, который делает аналог, я бы вообще упростил бы задачу и цифру туда не пихал, но менеджмент давит...
поэтому хотелось мне "по-быстрому" получить общую картину "как принято" это делать, а после искать IP с требованиями - естественно они есть, но мне пока не понятно ТЗ на них

и соответственно
>приемный буфер (находится после десериалайзера)
я не понял

про PIPE еще не почитал, но хочу для начального понимания уточнить: после сериализатора, я предполагаю защелку на /10 такт, то есть в приемнике у меня будет PLL, которая дает сфазированые clk и clk/10, а на каждой линии программируемая задержка idelay - то есть я рассчитываю реализовать такой приемник в ПЛИС (можно ли?), а потом, возможно и в отдельном цифровом АЗИКе

в чем тут ошибка?


Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Dec 10 2016, 14:40
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(yes @ Dec 10 2016, 15:42) *
...
но еще хотелось бы общих соображений, применимых к моим условиям
1) я хочу давать тактовый сигнал отдельной парой - то есть всякие синхропоследовательности для тренировки и т.п. не нужны, так же не нужны старт-стоп биты и какое-то "управление потоком"
2) связывать буду по постоянному току, без конденсаторов, то есть 8b/10b тоже не нужны - пусть хоть все время идут 00000 или 111 - проблем не будет
правильно я понимаю?
а то взял посмотреть ТИ-шные дискретные сердесы - так там чего-то наворотили такого, что гораздо сложнее, чем я ожидал (ну и лет 10 назад было в этой sn56 серии)

3) в принципе, тестовую последовательность (по команде с отдельного SPI интерфейса) я буду делать, для проверки линка, что-то типа 0,1,2,3...1023, "шахматные доски", может ПСП от сдвигового регистра, но не предполагаю динамической калибровки задержки в приемнике - то есть подбирается один раз для конкретной платы и проверяется в температуре/разбросе - так можно?

4) остался вопрос - можно ли это принять в современной ПЛИС - ну может там какой-то обязательный формат (со старт-стопом, синхропосылками и т.д.), с неотключаемым 8b/10b и т.п. или есть гибкость? если например, от мегафунций отказаться и клеить из примитивов?
...

1, Да - это на то оно и source synchronous
2, Да правильно - но в любом случае надо будет делать word синхронизацию при инициализации либо динамически (bit-slip) либо статикой (задержкой между clk и датой)

3, Трудно сказать это зависит от того как будет гулять задержка от температуры - у меня в старых проектах была постройка задержки clk в приемнике относительно данных - то есть линии данные считались как бы выровненными и при инициализации подстраивалась глобальная задержка clk в DCM для попадания в середину битового окна. Причем для Virtes2 это даже делалось внешним CPU.

4) Это без проблем! для Вашего случая это чистая реализация на логике - что хотите то и городите.
Может и есть готовые корки которые можно использовать но мне кажется что сделать все самому будет проще.

Успехов! Rob.
Go to the top of the page
 
+Quote Post



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

 


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


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