MadMakc 0 16 июня, 2012 Опубликовано 16 июня, 2012 · Жалоба Есть плата, на ней стоит xс6slx150t. у микросхемы 3 гигабитных интерфейса, но заведены они следующим образом- в каждом tile задействован только один GTP трансивер. Если в ПЛИС-е инициализировать только два гигабитных интерфейса, то всё работает. Но как только я включаю в схему ещё и третий, то начинаются чудеса - пропадает клок. диагностирую я это тем, что чипскоп мне говорит, что у вас либо нету клока, либо он слишком медленный+ счетчик выведенный на внешний пин так же не генерит частоту. да, в данном варианте клок у меня один, генерит его один из интерфейсов, а для остальных интерфейсов он является опорным. Поэтому провел следующий эксперимент. сделал так, что два интерфейса синхронизируются по одному клоку (clk_125) , а третий по другому( clk_125_3). получилось ещё веселей- clk_125 пропал, но clk_125_3 рабочий. Есть у кого мысли, что я делаю не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 16 июня, 2012 Опубликовано 16 июня, 2012 · Жалоба Начните с выкладывания схемы. В смысле, схемы синхронизации GTP. Затем нужно подробнее описать, что такое "пропадает клок". Т.е., где конкретно он пропадает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MadMakc 0 16 июня, 2012 Опубликовано 16 июня, 2012 · Жалоба синхронизацию делал, как рекомендуют в описании на ядро "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 0 17 июня, 2012 Опубликовано 17 июня, 2012 · Жалоба 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, по другому не работало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MadMakc 0 18 июня, 2012 Опубликовано 18 июня, 2012 · Жалоба wolfman: а почему пришлось на dll завести? Случайно не потому, что плейсер ругался, что не сможет развести цепь с buffio2 до bufg ? а для чего умножать до 125 МГц? с TILE0_GTPCLKOUT0_OUT вроде как уже 125 идет. или как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MadMakc 0 18 июня, 2012 Опубликовано 18 июня, 2012 · Жалоба wolfman: а почему пришлось на dll завести? Случайно не потому, что плейсер ругался, что не сможет развести цепь с buffio2 до bufg ? а для чего умножать до 125 МГц? с TILE0_GTPCLKOUT0_OUT вроде как уже 125 идет. или как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wolfman 0 18 июня, 2012 Опубликовано 18 июня, 2012 · Жалоба wolfman: а почему пришлось на dll завести? Случайно не потому, что плейсер ругался, что не сможет развести цепь с buffio2 до bufg ? Именно по этому, ну и в документе нашел, что можно через dll завести. а для чего умножать до 125 МГц? с TILE0_GTPCLKOUT0_OUT вроде как уже 125 идет. или как? Так выход divclk буфера buffio2 это деленка до 25МГц, попытка использовать другие выходы приводила к ругани и отказу разводиться.. TILE0_GTPCLKOUT0_OUT их две, та которая с индексом 0-ль, появлялась, а потом пропадала. Поэтому использовал с индексом 1, она была всегда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MadMakc 0 18 июня, 2012 Опубликовано 18 июня, 2012 · Жалоба Именно по этому, ну и в документе нашел, что можно через dll завести. Так выход divclk буфера buffio2 это деленка до 25МГц, попытка использовать другие выходы приводила к ругани и отказу разводиться.. TILE0_GTPCLKOUT0_OUT их две, та которая с индексом 0-ль, появлялась, а потом пропадала. Поэтому использовал с индексом 1, она была всегда. ага. ну, почему он не может развести у себя я нашел- в спартане оказалось путь от buffio2 до bufg один. А у меня данный буфер был занят под другой клок. Поэтому и ругается. Когда ручкаму указал буфера- проблему ушла. а вот на счет выхода divclk буфера buffio2.. в примере, который рожает кореген у buffio2 скаллер стоит единица. Поэтому сделал вывод, что он там 125 МГц. Или мы про разные buffio2 говорим? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wolfman 0 18 июня, 2012 Опубликовано 18 июня, 2012 · Жалоба ага. ну, почему он не может развести у себя я нашел- в спартане оказалось путь от buffio2 до bufg один. А у меня данный буфер был занят под другой клок. Поэтому и ругается. Когда ручкаму указал буфера- проблему ушла. Возможно у меня та же проблема, я так глубоко не копал, мне нужно было срочно проверить, что все нормально развели и с основным железом эти трансиверы будут жить. http://electronix.ru/forum/style_emoticons...lt/laughing.gif а вот на счет выхода divclk буфера buffio2.. в примере, который рожает кореген у buffio2 скаллер стоит единица. Поэтому сделал вывод, что он там 125 МГц. Или мы про разные buffio2 говорим? Хм, сейчас посмотрел, у меня тоже стоит DIVIDE => 1, а с выхода divclk идет 25МГц. :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MadMakc 0 18 июня, 2012 Опубликовано 18 июня, 2012 · Жалоба а как вы диагностировали 25 Мгц? на модели или в железе как-то? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wolfman 0 18 июня, 2012 Опубликовано 18 июня, 2012 · Жалоба Mad Makc: Вывел на внешний пин, в чипскопе не очень хорошо разбираюсь, возможно в нем тоже можно было как-то посмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MadMakc 0 19 июня, 2012 Опубликовано 19 июня, 2012 · Жалоба Mad Makc: Вывел на внешний пин, в чипскопе не очень хорошо разбираюсь, возможно в нем тоже можно было как-то посмотреть. так, я тут копнул мануал на GTP. И если верить картинке 3-18, то 25 МГц у вас возможны, если мультиплексор CLK_OUT_GTP_SEL_ берёт сигнал от передатчика. вопрос: а чему у вас равен этот парметр CLK_OUT_GTP_SEL_0 ? у меня REFCLKPLL0 а у вас? а теперь по основной теме: проблему победил. вроде всё ожило и работает. Засада была в том, что в спартаке несмотря на наличие коммутационных матриц на глобальные линии, они( мартицы) не могут переключать все буфера buffio2 со всеми bufg ( как пример). Убедиться в этом можно, если полчаса полазить в FPGA editor-е по цепям. ну и соотвественно, когда это до меня дошло,то всё встало на свои места и всё заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться