|
Kintex UltraScale SERDES, Проблема с Pulse Width |
|
|
|
May 2 2018, 09:31
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(BSACPLD @ May 2 2018, 12:25)  Коллеги, пытаюсь запустить SERDES на 800МГц, но никак не могу победить разваливающиеся времянки. Тактирование SERDES сделал от внешнего клока. И выскочастотный и низкочастотный клоки получаю посредством примитивов BUFGCE_DIV. В документации Xilinx вроде именно так и рекомендуют делать. Частоты вроде небольшие, но чтобы я ни пробовал писать в констрейнах, все время получаю ругань на Pulse Width. Прошу совета у товарицей имеющих опыт запуска этих SERDES на подобные или более высокие частоты. Мои прикидки на пальцах для обычного кинтекса давали границу в районе 250Мгц. После которой необходима динамическая подстрока этого самого serdes. Т.е. иными словами при фиксированной задержке в idelay можно работать на частотах ниже 250 Мгц. Выше нужно как то её крутить.
|
|
|
|
|
May 2 2018, 09:42
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Цитата(MegaVolt @ May 2 2018, 12:31)  Мои прикидки на пальцах для обычного кинтекса давали границу в районе 250Мгц. После которой необходима динамическая подстрока этого самого serdes.
Т.е. иными словами при фиксированной задержке в idelay можно работать на частотах ниже 250 Мгц. Выше нужно как то её крутить. Немного странно, т.к. даже на Cyclone IV я без проблем получал 800МГц без всяких ухищрений. А здесь намного более шустрый чип. Под динамической подстройкой Вы имели ввиду фазовые соотношения между низкочастотным и высокочастотным клоком?
|
|
|
|
|
May 2 2018, 09:44
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Цитата(MegaVolt @ May 2 2018, 12:42)  речь шла про 250 DDR Я здесь пытаюсь использовать OSERDESE3. Он может работать 4x или 8x.
|
|
|
|
|
May 2 2018, 09:45
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(BSACPLD @ May 2 2018, 12:42)  Немного странно, т.к. даже на Cyclone IV я без проблем получал 800МГц без всяких ухищрений. А здесь намного более шустрый чип. Под динамической подстройкой Вы имели ввиду фазовые соотношения между низкочастотным и высокочастотным клоком? Я говорю лишь про свой опыт. Т.е. может быть можно и без ухищрений но я не нашёл как. Про подстройку речь идёт про подбор входной задержки линий данных так чтобы клок попадал в середину окна данных. И делать это с некоторой регулярностью. Цитата(BSACPLD @ May 2 2018, 12:44)  Я здесь пытаюсь использовать OSERDESE3. Он может работать 4x или 8x. Внутреннее деление роли не играет. Я говорил про входную частоту.
|
|
|
|
|
May 2 2018, 09:54
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(BSACPLD @ May 2 2018, 12:25)  Коллеги, пытаюсь запустить SERDES на 800МГц, но никак не могу победить разваливающиеся времянки. Тактирование SERDES сделал от внешнего клока. И выскочастотный и низкочастотный клоки получаю посредством примитивов BUFGCE_DIV. Вы бы хотя бы указали тип вывода: HP или HR, напряжение питания банка и тип вывода клока: MRCC или SRCC. Полезные ссылки: xapp585, xapp1064.
|
|
|
|
|
May 2 2018, 09:57
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
У меня здесь немного другая проблема. SERDES работает на выход и используется для грубой подстройки фазы выходного сигнала. Точную подстройку я делаю через ODELAY. Проблема с Pulse Width именно со стороны выскочастотного клока заходящего на SERDES. Именно на него ругается Timing Analyzer. Клоки для SERDES: CODE IBUFDS #( .DQS_BIAS("FALSE") // (FALSE, TRUE) ) ibufds_clk_800MHz ( .I (clk_800MHz_p), .IB (clk_800MHz_n), .O (clk_800MHz) ) ;
BUFGCE_DIV #( .BUFGCE_DIVIDE (4), .IS_CE_INVERTED (1'b0), .IS_CLR_INVERTED (1'b0), .IS_I_INVERTED (1'b0) ) bufg_clk_sys ( .I (clk_800MHz), .CE (1'b1), .CLR (1'b0), .O (clk_sys) ) ;
BUFGCE_DIV #( .BUFGCE_DIVIDE (1), .IS_CE_INVERTED (1'b0), .IS_CLR_INVERTED (1'b0), .IS_I_INVERTED (1'b0) ) bufg_clk_io ( .I (clk_800MHz), .CE (1'b1), .CLR (1'b0), .O (clk_io) ) ;
Эскизы прикрепленных изображений
|
|
|
|
|
May 2 2018, 10:02
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Цитата(blackfin @ May 2 2018, 12:54)  Вы бы хотя бы указали тип вывода: HP или HR, напряжение питания банка и тип вывода клока: MRCC или SRCC. Питание 1.8В. HR Клок заведен как дифф. пара на GCLK.
|
|
|
|
|
May 2 2018, 10:15
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(BSACPLD @ May 2 2018, 13:02)  Питание 1.8В, HR Клок заведен как дифф. пара на GCLK. Осталось узнать какой speed grade у кристалла.. [attachment=112310:Screensh...13_46_27.jpg] PS. Для HR частоту 800 МГц вроде как никто и не обещает: [attachment=112311:Screensh...13_57_11.jpg]
|
|
|
|
|
May 2 2018, 10:46
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Цитата(blackfin @ May 2 2018, 13:15)  Осталось узнать какой speed grade у кристалла..  Блин. Слона то я и не приметил... У них на DevKit speed grade 2 запаян. Похоже придется изобретать свой SERDES на связке логика + ODDR с тактированием от 400МГц... Хотя я так однажды уже делал для Arria GX... Цитата(blackfin @ May 2 2018, 13:15)  PS. Для HR частоту 800 МГц вроде как никто и не обещает: Непосредственно 800МГц мне не нужно. Мне нужно подстраивать фазу выходного сигнала с шагом 1.25нс.
|
|
|
|
|
May 2 2018, 12:55
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Цитата(MegaVolt @ May 2 2018, 14:53)  В каком диапазоне? В пределах такта 200МГц, т.е. 5нс = 4 шага.
|
|
|
|
|
May 2 2018, 14:27
|
Местный
  
Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056

|
Цитата(MegaVolt @ May 2 2018, 16:19)  По идее это делается сдвигом тактовой на 90 градусов. В DCM или PLL Не вариант. Каналов много + нужно перестраивать за 1 такт 200МГц, так что только SERDES.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|