Протокол Aurora
Aurora — это последовательный протокол связи для мультигигабитных линий ПЛИС. Он используется для передачи данных между устройствами, использующими один или несколько приемопередатчиков GTX, GTH или GTY. Соединения могут быть полнодуплексными (данные в обоих направлениях) или симплексными (данные в любом из направлений).
Блок Aurora в контексте архитектуры построения проектов ПЛИС в ИнСис сформирован на базе IP-ядра от AMD. В зависимости от топологии модуля и установленной на нем ПЛИС IP-ядро может быть сконфигурировано на различное количество линий (от 1 до 8) и использовать кодировки 8B/10B или 64B/66B. Для управления и обмена данными в блоке используется соответствующие шины AXI-Lite и AXI-Stream.
Пропускная способность линии Aurora зависит от семейства используемой ПЛИС, т.е. от типа мультигигабитных приемопередатчиков и типа примененной кодировки. Скорость обмена данными может варьироваться от единиц гигабит и менее (при задействовании приемопередатчиков GTX с кодировкой 8B/10B: 0,5-6,6 Гбит/c) до 25,7813 Гбит/с при использовании приемопередатчиков GTY с кодировкой 64B/66B.
Необходимо отметить, что протокол Aurora образует канал связи с недостоверным способом передачи данных. Т.е. в канале отсутствует коррекция ошибок или какие-либо повторные перезапросы блоков данных. Данный аспект необходимо учитывать при построении прикладных систем передачи данных.
Пример структуры блока Aurora_64_66 приведен на рисунке:
