Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: spartan6 LX150t и 3 GTP
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Mad Makc
Есть плата, на ней стоит xс6slx150t.
у микросхемы 3 гигабитных интерфейса, но заведены они следующим образом- в каждом tile задействован только один GTP трансивер.
Если в ПЛИС-е инициализировать только два гигабитных интерфейса, то всё работает.
Но как только я включаю в схему ещё и третий, то начинаются чудеса - пропадает клок.
диагностирую я это тем, что чипскоп мне говорит, что у вас либо нету клока, либо он слишком медленный+ счетчик выведенный на внешний пин так же не генерит частоту.

да, в данном варианте клок у меня один, генерит его один из интерфейсов, а для остальных интерфейсов он является опорным.
Поэтому провел следующий эксперимент.
сделал так, что два интерфейса синхронизируются по одному клоку (clk_125) , а третий по другому( clk_125_3).
получилось ещё веселей- clk_125 пропал, но clk_125_3 рабочий.

Есть у кого мысли, что я делаю не так?
Koluchiy
Начните с выкладывания схемы. В смысле, схемы синхронизации GTP.
Затем нужно подробнее описать, что такое "пропадает клок". Т.е., где конкретно он пропадает.
Mad Makc
синхронизацию делал, как рекомендуют в описании на ядро "Ethernet 1000BASE-X PCS/PMA or SGMII"
на картинке 1.jpg - схема с одним клоком.
на картинке 2.jpg - схема с двумя.
Во второй схеме ck_125 пропадает, а clk_12_3 рабочий.
серым цветом выделены GTP которые используются в работе.

На счет пропадания клока.я запускаю чипскоп. он набирает некоторое количество отсчетов и больше не запускается -говорит,что клока нет. И вот тут что я подумал- а может у меня PLL какая-нибуть дурит? очень похоже, что её "колбасит" сначала( чипскоп как-то собирает данные), а потом она подыхает( клока нет).
Но почему её колбасить начинает, когда 3 GTP в схеме - не пойму.

ща попробую :
1. в качестве опорного выбрать другой GTP
2. cделать в схеме 3 клока- по одному из каждого GTP.
wolfman
Mad Makc

Я подключал 4-е трансивера, и все нормально работало, правда пришлось немного по колдовать с тактовой.

Update:
Я подключал след. образом:
TILE0_GTPCLKOUT0_OUT(1) на buffio2,
с его выхода divclk на dll, где умножается до 125МГц и уже после этого заводится на TILE0_RXUSRCLK0_IN, TILE0_TXUSRCLK0_IN и на Ethernet 1000BASE-X PCS/PMA or SGMII, по другому не работало.
Mad Makc
wolfman:

а почему пришлось на dll завести? Случайно не потому, что плейсер ругался, что не сможет развести цепь с buffio2 до bufg ?
а для чего умножать до 125 МГц? с TILE0_GTPCLKOUT0_OUT вроде как уже 125 идет. или как?
Mad Makc
wolfman:

а почему пришлось на dll завести? Случайно не потому, что плейсер ругался, что не сможет развести цепь с buffio2 до bufg ?
а для чего умножать до 125 МГц? с TILE0_GTPCLKOUT0_OUT вроде как уже 125 идет. или как?
wolfman
Цитата(Mad Makc @ Jun 18 2012, 18:30) *
wolfman:

а почему пришлось на dll завести? Случайно не потому, что плейсер ругался, что не сможет развести цепь с buffio2 до bufg ?

Именно по этому, ну и в документе нашел, что можно через dll завести.

Цитата
а для чего умножать до 125 МГц? с TILE0_GTPCLKOUT0_OUT вроде как уже 125 идет. или как?


Так выход divclk буфера buffio2 это деленка до 25МГц, попытка использовать другие выходы приводила к ругани и отказу разводиться..

TILE0_GTPCLKOUT0_OUT их две, та которая с индексом 0-ль, появлялась, а потом пропадала. Поэтому использовал с индексом 1, она была всегда.
Mad Makc

Цитата(wolfman @ Jun 18 2012, 12:50) *
Именно по этому, ну и в документе нашел, что можно через dll завести.



Так выход divclk буфера buffio2 это деленка до 25МГц, попытка использовать другие выходы приводила к ругани и отказу разводиться..

TILE0_GTPCLKOUT0_OUT их две, та которая с индексом 0-ль, появлялась, а потом пропадала. Поэтому использовал с индексом 1, она была всегда.


ага. ну, почему он не может развести у себя я нашел- в спартане оказалось путь от buffio2 до bufg один. А у меня данный буфер был занят под другой клок.
Поэтому и ругается. Когда ручкаму указал буфера- проблему ушла.

а вот на счет выхода divclk буфера buffio2.. в примере, который рожает кореген у buffio2 скаллер стоит единица. Поэтому сделал вывод, что он там 125 МГц.
Или мы про разные buffio2 говорим?
wolfman
Цитата(Mad Makc @ Jun 18 2012, 21:41) *
ага. ну, почему он не может развести у себя я нашел- в спартане оказалось путь от buffio2 до bufg один. А у меня данный буфер был занят под другой клок.
Поэтому и ругается. Когда ручкаму указал буфера- проблему ушла.

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

Цитата
http://electronix.ru/forum/style_emoticons...lt/laughing.gif
а вот на счет выхода divclk буфера buffio2.. в примере, который рожает кореген у buffio2 скаллер стоит единица. Поэтому сделал вывод, что он там 125 МГц.
Или мы про разные buffio2 говорим?


Хм, сейчас посмотрел, у меня тоже стоит DIVIDE => 1, а с выхода divclk идет 25МГц. laughing.gif
Mad Makc
а как вы диагностировали 25 Мгц? на модели или в железе как-то?
wolfman
Mad Makc:
Вывел на внешний пин, в чипскопе не очень хорошо разбираюсь, возможно в нем тоже можно было как-то посмотреть.
Mad Makc
Цитата(wolfman @ Jun 18 2012, 21:10) *
Mad Makc:
Вывел на внешний пин, в чипскопе не очень хорошо разбираюсь, возможно в нем тоже можно было как-то посмотреть.


так, я тут копнул мануал на GTP. И если верить картинке 3-18, то 25 МГц у вас возможны, если мультиплексор CLK_OUT_GTP_SEL_ берёт сигнал от передатчика.
вопрос: а чему у вас равен этот парметр CLK_OUT_GTP_SEL_0 ? у меня REFCLKPLL0 а у вас?

а теперь по основной теме: проблему победил. вроде всё ожило и работает. Засада была в том, что в спартаке несмотря на наличие коммутационных матриц на глобальные линии, они( мартицы) не могут переключать все буфера buffio2 со всеми bufg ( как пример). Убедиться в этом можно, если полчаса полазить в FPGA editor-е по цепям.
ну и соотвественно, когда это до меня дошло,то всё встало на свои места и всё заработало.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.