Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос тем кто работал с Wizard GTP Transeiver
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
евгенийкочин
Пытаюсь разобраться с GTP Transeiver Wizard и реализовать данную примочку на плате SP605 сижу и читаю ug386. Возник ряд вопросов. Я для начала попытался сделать совсем простую вещицу со следующими параметрами:
Line Rate - 1.35 Gbps
Data Path Width - 10 bits
Reference Clock - 135 MHz
Без кодирования.

Была создана следующая штука:
--------------------------------- PLL Ports --------------------------------
CLK00_IN : in std_logic;
CLK01_IN : in std_logic;
GTPRESET0_IN : in std_logic;
GTPRESET1_IN : in std_logic;
PLLLKDET0_OUT : out std_logic;
PLLLKDET1_OUT : out std_logic;
RESETDONE0_OUT : out std_logic;
RESETDONE1_OUT : out std_logic;
------------------- Receive Ports - RX Data Path interface -----------------
RXDATA0_OUT : out std_logic_vector(9 downto 0);
RXDATA1_OUT : out std_logic_vector(9 downto 0);
RXUSRCLK0_IN : in std_logic;
RXUSRCLK1_IN : in std_logic;
RXUSRCLK20_IN : in std_logic;
RXUSRCLK21_IN : in std_logic;
------- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------
RXN0_IN : in std_logic;
RXN1_IN : in std_logic;
RXP0_IN : in std_logic;
RXP1_IN : in std_logic;
---------------------------- TX/RX Datapath Ports --------------------------
GTPCLKOUT0_OUT : out std_logic_vector(1 downto 0);
GTPCLKOUT1_OUT : out std_logic_vector(1 downto 0);
------------------ Transmit Ports - TX Data Path interface -----------------
TXDATA0_IN : in std_logic_vector(9 downto 0);
TXDATA1_IN : in std_logic_vector(9 downto 0);
TXUSRCLK0_IN : in std_logic;
TXUSRCLK1_IN : in std_logic;
TXUSRCLK20_IN : in std_logic;
TXUSRCLK21_IN : in std_logic;
--------------- Transmit Ports - TX Driver and OOB signalling --------------
TXN0_OUT : out std_logic;
TXN1_OUT : out std_logic;
TXP0_OUT : out std_logic;
TXP1_OUT : out std_logic

С отдельными портами вопросов нет, но есть и те которые не понятны

1) Каково назначение вот этих портов?
TX(RX)N0_OUT : out std_logic;
TX(RX)N1_OUT : out std_logic;
TX(RX)P0_OUT : out std_logic;
TX(RX)P1_OUT : out std_logic
2) Порты ТX(RX)USRCLK0_IN и др. используются как клоки для всяких внутренних вещей TX(RX) интерфейсов. Прочитав уг386 я прочёл, что их можно заклочить с помощью GTPCLKOUT0(1)_OUT через BUFIO2 и BUFG соединенных последовательно, (т.к. у меня 1-Byte Mode)это верно?

Спасибо большое.
SFx
Цитата(евгенийкочин @ Jun 7 2012, 15:02) *
1) Каково назначение вот этих портов?
TX(RX)N0_OUT : out std_logic;
TX(RX)N1_OUT : out std_logic;
TX(RX)P0_OUT : out std_logic;
TX(RX)P1_OUT : out std_logic

это как раз те выводы, которые идут наружу FPGA. 2 канала, 2 диффпары на канал - передача и приём.
если Вы используете только первый канал - соответственно индекс 0 - ваши ноги.
Цитата(евгенийкочин @ Jun 7 2012, 15:02) *
2) Порты ТX(RX)USRCLK0_IN и др. используются как клоки для всяких внутренних вещей TX(RX) интерфейсов. Прочитав уг386 я прочёл, что их можно заклочить с помощью GTPCLKOUT0(1)_OUT через BUFIO2 и BUFG соединенных последовательно, (т.к. у меня 1-Byte Mode)это верно?

Не совсем понятно, что Вы хотите сделать.
Трансиверы должны клочится от стабильного источника. если мне не изменяет память, там есть отдельный примитив, который позволяет заводить внешний дифференциальный клок сначала на PLL трансивера, а потом уже использовать его через BUFG в самом проекте.
евгенийкочин
Вот такую схему я увидел в ug386, это по второму пункту, и по первому, простите за глупый вопрос, но всё же, что я подаю на эти дифф. пары? Данные?
Flood
Цитата(евгенийкочин @ Jun 7 2012, 22:41) *
и по первому, простите за глупый вопрос, но всё же, что я подаю на эти дифф. пары? Данные?


Чтобы ответить на этот вопрос, придется спросить - зачем вы изучаете GTP Transeiver Wizard? Видимо, для того, чтобы организовать внешний высокоскоростной последовательный канал обмена данными. Дифф. пары TXP/TXN, RXP/RXN и есть этот самый внешний канал. Расположение этих выводов жестко привязано к соответствующему GTP-блоку. Посмотрите рисунок 1-3 в ug386, из него в общих чертах понятно, какие пины выходят наружу и какие сингалы идут в FPGA.
Чтобы GTP работал, эти пары нужно подключить к какому-то внешнему оборудованию, использующему тот же самый протокол, что и ваш GTP. К примеру, это может быть соседний GTP этой же самой микросхемы (если соответствующие пары крест-накрест соединены на плате). Для отладки и изучения есть режим заглушки - Loopback, при этом GTP будет принимать те же самые данные, что подаются ему на вход. При использовании Loopback дифф. пары использовать не нужно (физически они могут висеть в воздухе).

На мой взгляд, начинать изучение GT на искусственном примере, на странной частоте и без канального кодирования сложно - будет не понятно, работает ли хоть что-нибудь вообще. Советую использовать 8b/10b, т.к. там имеются специализированные коды (comma, idle), по которым проще понять, есть ли жизнь на интерфейсе.
На плате SP605 можно поднять GTP блок, подключенный к PCI Express или к SFP-разъему и обеспечить ответное подключение к заведомо работоспособному порту. Например, в случае PCI Express, передатчик удаленного порта должен увидеть наличие приемника на шине и впасть в состояние Compliance - это постоянная передача известного паттерна данных при подключении к пассивной нагрузке. В этом случае на RXDATA можно будет наблюдать этот паттерн вживую.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.